#ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110827 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/system_error b/include/system_error index f0897f6..8526f37 100644 --- a/include/system_error +++ b/include/system_error
@@ -237,6 +237,10 @@ template <class _Tp> struct is_error_condition_enum : public false_type {}; +// Some error codes are not present on all platforms, so we provide equivalents +// for them: + + //enum class errc struct errc { @@ -281,18 +285,30 @@ no_child_process = ECHILD, no_link = ENOLINK, no_lock_available = ENOLCK, +#ifdef ENODATA no_message_available = ENODATA, +#else + no_message_available = ENOMSG, +#endif no_message = ENOMSG, no_protocol_option = ENOPROTOOPT, no_space_on_device = ENOSPC, +#ifdef ENOSR no_stream_resources = ENOSR, +#else + no_stream_resources = ENOMEM, +#endif no_such_device_or_address = ENXIO, no_such_device = ENODEV, no_such_file_or_directory = ENOENT, no_such_process = ESRCH, not_a_directory = ENOTDIR, not_a_socket = ENOTSOCK, +#ifdef ENOSTR not_a_stream = ENOSTR, +#else + not_a_stream = EINVAL, +#endif not_connected = ENOTCONN, not_enough_memory = ENOMEM, not_supported = ENOTSUP, @@ -310,7 +326,11 @@ resource_unavailable_try_again = EAGAIN, result_out_of_range = ERANGE, state_not_recoverable = ENOTRECOVERABLE, +#ifdef ETIME stream_timeout = ETIME, +#else + stream_timeout = ETIMEDOUT, +#endif text_file_busy = ETXTBSY, timed_out = ETIMEDOUT, too_many_files_open_in_system = ENFILE,